<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <script src="d3.js"></script>
    <script>
        const svg = d3.select('body').append('svg');
        svg.attr('width',800);
        svg.attr('height',600);
        svg.style('border','2px solid #ccc');
        
        const data = [400,350,300,420] ;

        // const rect = svg.append('rect')
        //     .attr('x',100)
        //     .attr('y',100)
        //     .attr('width',50)
        //     .attr('fill','steelblue')
        //     .transition()
        //     .delay(1000)
        //     .duration(2000)
        //     .ease(d3.easeBounceIn)
        //     .attr('height',400)

        // const colorScale = d3.scaleQuantize()
        //     .domain([0,data.length-1])
        //     .range(d3.schemeSet1)

        // svg.selectAll('rect')
        //     .data(data)
        //     .join('rect')
        //     .attr('x',(d,i)=>55*i)
        //     .attr('y',500)
        //     .attr('width',50)
        //     .attr('fill',(d,i)=>colorScale(i))
        //     .transition()
        //     .delay((d,i)=>i*500)
        //     .duration(2000)
        //     .attr('y',d=>500-d)
        //     .attr('height',d=>d)
        //     .end().then(function(){
        //         console.log(arguments);
        //     });
            

        svg.selectAll('g')
            .data(data)
            .join('g')
            .attr('fill','#fac')
            .append('rect')
            .attr('x',(d,i)=>i*55 + 100)
            .attr('y',500)
            .attr('width',50)
            .attr('height',0)
            .attr('fill','#acf')
        
        svg.selectAll('g rect')
            .transition('a')
            .duration(5000)
            .attr('fill','#afc')
            //.attr('width',100)
            .on('interrupt',()=>{
                console.log('被中断了');
            })

        svg.selectAll('g rect')
            .transition('b')
            .ease(d3.easeExpOut)
            .duration(3000)
            .attr('height',d=>d)
            .attr('y',d=>500-d)
            .on('end',function(){
                svg.selectAll('g rect').interrupt('a');
            })
    </script>
</body>
</html>